home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
masa
/
masa.bas
next >
Wrap
BASIC Source File
|
1994-06-01
|
5KB
|
147 lines
10 'お習字ソフト 「雅彦ョ」 Ver 2.0 Presented by T.G(源五郎丸 正義)
20 OUT &H05EC,0:STOP OFF
30 COLOR 4,%13:CLS:SCREEN@0:MOUSE 0:PALETTE:MOUSE 1,,,1:ON ERROR GOTO 1170
40 A$=CHR$(&HFF,&HF9,&HFF,&HF0,&HFF,&HE0,&HFF,&HC0,&HFF,&H81,&HFF,&H03,&HFE,&H07,&HFC,&H0F, &HF8,&H1F,&HF0,&H3F,&HE0,&H7F,&HC0,&HFF,&H81,&HFF,&H83,&HFF,&H07,&HFF,&H1F,&HFF)
50 B$=CHR$(&H00,&H00,&H00,&H06,&H00,&H0E,&H00,&H1E,&H00,&H3C,&H00,&H78,&H00,&HF0,&H01,&HE0, &H03,&HC0,&H07,&H80,&H07,&H00,&H1A,&H00,&H3C,&H00,&H18,&H00,&H00,&H00,&H00,&H00)
60 MOUSE 2,A$,B$, 0, 15
70 H=0:Z=10:C=0:ZO=1:GE=.5!
80 FOR A=0 TO 4
90 READ P,G,R,B
100 PALETTE P,[G,R,B],0
110 NEXT
120 LINE(0,0)-(640,480),PSET,%13,BF:LINE(102,2)-(537,477),PSET,%14,BF
130 SYMBOL(575,120),"太筆",.9!,1,7,,OPAQUE,1
140 LINE(580,215)-(600,235),PSET,%0,BF:CONSOLE 0,24,2
150 READ X1,Y1,X2,Y2
160 IF X1=999 THEN GOTO 200
170 CONNECT (X1,Y2)-(X2,Y2)-(X2,Y1),0
180 CONNECT (X2,Y1)-(X1,Y1)-(X1,Y2),7
190 GOTO 150
200 READ X1,Y1,X2,Y2
210 IF X1=999 THEN GOTO 250
220 CONNECT (X1,Y2)-(X2,Y2)-(X2,Y1),7
230 CONNECT (X2,Y1)-(X1,Y1)-(X1,Y2),0
240 GOTO 200
250 DATA 1,80,80,80
260 DATA 2,150,150,150
270 DATA 3,50,200,40
280 DATA 13,110,110,110
290 DATA 14,230,230,230
300 DATA 100,0,540,479
310 DATA 550,100,630,430
320 DATA 560,150,620,200
330 DATA 560,250,620,300
340 DATA 560,310,620,340
350 DATA 560,350,620,380
360 DATA 560,390,620,420
370 DATA 999,0,0,0
380 DATA 570,110,610,140
390 DATA 570,210,610,240
400 DATA 999,0,0,0
410 READ X,Y,M$
420 IF X=999 THEN GOTO 580
430 SYMBOL(X,Y),M$,.9!,1,7,,,1
440 GOTO 410
450 DATA 570,160,筆
460 DATA 580,180,変更
470 DATA 570,260,色
480 DATA 580,280,変更
490 DATA 563,317,紙取替え
500 DATA 563,357,作品提出
510 DATA 570,397,END
520 DATA 2,2,お習字ソフト
530 DATA 5,20,「雅彦ョ」
540 DATA 35,38,Ver 2.0
550 DATA 550,20,右クリックで
560 DATA 550,40,Menuに入れる
570 DATA 999,0,0
580 MOUSE 4,101+Z/2,1+Z/2,538-Z/2,478-Z/2:MOUSE 1,320,,1:POINT(MOUSE(0),MOUSE(1))
590 IF MOUSE(2,0) THEN H=H+ZO
600 IF H>Z THEN H=Z
610 H=H-GE
620 IF H<0 THEN H=0:POINT(MOUSE(0),MOUSE(1))
630 IF H=0 THEN GOTO 660
640 DEF PEN 0,H
650 LINE -(MOUSE(0),MOUSE(1)),PSET,%C
660 IF MOUSE(2,1) ELSE GOTO 590
670 MOUSE 4,550,100,630,430
680 IF MOUSE(2,1)=0 ELSE GOTO 680
690 H=0
700 IF MOUSE(2,1) ELSE GOTO 730
710 MOUSE 4,101+Z/2,1+Z/2,539-Z/2,478-Z/2:MOUSE 1,320,,1:POINT(MOUSE(0),MOUSE(1))
720 IF MOUSE(2,1)=0 THEN GOTO 580 ELSE GOTO 720
730 IF MOUSE(2,0) ELSE GOTO 700
740 IF MOUSE(2,0)=0 ELSE GOTO 740
750 MX=MOUSE(0):MY=MOUSE(1)
760 IF MX>560 AND MY>150 AND MX<620 AND MY<200 THEN GOTO 820
770 IF MX>560 AND MY>250 AND MX<620 AND MY<300 THEN GOTO 900
780 IF MX>560 AND MY>310 AND MX<620 AND MY<340 THEN GOTO 940
790 IF MX>560 AND MY>350 AND MX<620 AND MY<380 THEN GOTO 960
800 IF MX>560 AND MY>390 AND MX<620 AND MY<420 THEN GOTO 1080
810 GOTO 730
820 IF Z=5 THEN GOTO 860
830 IF Z=10 THEN GOTO 880
840 Z=5:ZO=.6!:GE=.4!:SYMBOL(575,120),"細筆",.9!,1,7,,OPAQUE,1
850 GOTO 690
860 Z=10:ZO=1:GE=.5!:SYMBOL(575,120),"太筆",.9!,1,7,,OPAQUE,1
870 GOTO 690
880 Z=16:ZO=1.4!:GE=.6!:SYMBOL(575,120),"極太",.9!,1,7,,OPAQUE,1
890 GOTO 690
900 C=C+1
910 IF C=4 THEN C=0
920 DEF PEN 0,1:LINE(580,215)-(600,235),PSET,%C,BF
930 GOTO 690
940 DEF PEN 0,1:LINE(102,2)-(538,478),PSET,%14,BF
950 GOTO 690
960 MOUSE 1,,,0
970 LOCATE 0,13:PRINT "パス名"
980 LOCATE 0,14:LINE INPUT ">",PAT$
990 LOCATE 0,15:PRINT "ファイル名"
1000 LOCATE 0,16:INPUT ">",FIL$
1010 IF FIL$="" THEN GOTO 1070
1020 F$=RIGHT$(FIL$,4):F$=LEFT$(F$,1):IF F$="." THEN GOTO 1040
1030 FIL$=FIL$+".TIF"
1040 IF PAT$="" THEN GOTO 1060
1050 IF RIGHT$(PAT$,1)="\" THEN FIL$=PAT$+FIL$ ELSE FIL$=PAT$+"\"+FIL$
1060 SAVE@ FIL$,(100,0)-(540,479),1
1070 CLS 1:MOUSE 1,,,1:GOTO 690
1080 LOCATE 0,15:PRINT "終了します"
1090 LOCATE 0,16:PRINT "いいですか"
1100 LOCATE 0,17:PRINT " (Y/N)"
1110 I$=INKEY$
1120 IF I$="Y" OR I$="y" OR MOUSE(2,0) THEN GOTO 1150
1130 IF I$="N" OR I$="n" OR MOUSE(2,1) THEN GOTO 1160
1140 GOTO 1110
1150 OUT &H05EC,1:SYSTEM
1160 IF MOUSE(2,1)=0 THEN CLS 1:GOTO 690 ELSE GOTO 1160
1170 IF ERR=64 ELSE GOTO 1290
1180 LOCATE 0,17:PRINT "ファイルが重複"
1190 LOCATE 0,18:PRINT "しています"
1200 LOCATE 0,19:PRINT "削除します"
1210 LOCATE 0,20:PRINT " (Y/N)"
1220 I$=INKEY$
1230 IF I$="Y" OR I$="y" OR MOUSE(2,0) THEN GOTO 1260
1240 IF I$="N" OR I$="n" OR MOUSE(2,1) THEN GOTO 1280
1250 GOTO 1220
1260 KILL FIL$
1270 RESUME
1280 IF MOUSE(2,1)=0 THEN RESUME 1070 ELSE GOTO 1280
1290 IF ERR=67 ELSE GOTO 1370
1300 LOCATE 0,17:PRINT "DISKの"
1310 LOCATE 0,18:PRINT "容量が"
1320 LOCATE 0,19:PRINT "足りません"
1330 IF INKEY$<>"" OR MOUSE(2,0) ELSE GOTO 1330
1340 KILL FIL$
1350 IF MOUSE(2,0)=0 ELSE GOTO 1350
1360 RESUME 1070
1370 CLS 1
1380 LOCATE 0,17:PRINT "なんらかの"
1390 LOCATE 0,18:PRINT "エラーが"
1400 LOCATE 0,19:PRINT "出ています"
1410 E$="番号 > "+STR$(ERR)
1420 LOCATE 0,20:PRINT E$
1430 FOR A=1 TO 100:BEEP 1:BEEP 0:NEXT
1440 IF INKEY$<>"" OR MOUSE(2,0) ELSE GOTO 1430
1450 IF MOUSE(2,0)=0 ELSE GOTO 1450
1460 RESUME 1070